package py.progweb.sgc.model;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Set;


/**
 * The persistent class for the ORIGENDATOS database table.
 * 
 */
@Entity
@Table(name="ORIGENDATOS")
public class OrigenDato extends EntidadBase implements Serializable {
	private static final long serialVersionUID = 1L;
	private long codOrigendatoPk;
	private String strCacheable;
	private String strCsvFilepath;
	private String strDbconstr;
	private String strDescrip;
	private String strNombre;
	private String strPeriodicidad;
	private String strSqlconsulta;
	private String strTipo;
	private String strWsWsdl;
	private Evento evento;
	private Set<Regla> reglas;

    public OrigenDato() {
    }


	@Id
	@SequenceGenerator(name="ORIGENDATOS_CODORIGENDATOPK_GENERATOR", sequenceName="SQ_PK_ORIGENDATOS")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="ORIGENDATOS_CODORIGENDATOPK_GENERATOR")
	@Column(name="COD_ORIGENDATO_PK")
	public long getCodOrigendatoPk() {
		return this.codOrigendatoPk;
	}

	public void setCodOrigendatoPk(long codOrigendatoPk) {
		this.codOrigendatoPk = codOrigendatoPk;
	}


	@Column(name="ENUM_CACHEABLE")
	public String getStrCacheable() {
		return this.strCacheable;
	}

	public void setStrCacheable(String strCacheable) {
		this.strCacheable = strCacheable;
	}


	@Column(name="STR_CSV_FILEPATH")
	public String getStrCsvFilepath() {
		return this.strCsvFilepath;
	}

	public void setStrCsvFilepath(String strCsvFilepath) {
		this.strCsvFilepath = strCsvFilepath;
	}


	@Column(name="STR_DBCON")
	public String getStrDbconstr() {
		return this.strDbconstr;
	}

	public void setStrDbconstr(String strDbconstr) {
		this.strDbconstr = strDbconstr;
	}


	@Column(name="STR_DESCRIP")
	public String getStrDescrip() {
		return this.strDescrip;
	}

	public void setStrDescrip(String strDescrip) {
		this.strDescrip = strDescrip;
	}


	@Column(name="STR_NOMBRE")
	public String getStrNombre() {
		return this.strNombre;
	}

	public void setStrNombre(String strNombre) {
		this.strNombre = strNombre;
	}


	@Column(name="ENUM_PERIODICIDAD")
	public String getStrPeriodicidad() {
		return this.strPeriodicidad;
	}

	public void setStrPeriodicidad(String strPeriodicidad) {
		this.strPeriodicidad = strPeriodicidad;
	}


	@Column(name="STR_SQLCONSULTA")
	public String getStrSqlconsulta() {
		return this.strSqlconsulta;
	}

	public void setStrSqlconsulta(String strSqlconsulta) {
		this.strSqlconsulta = strSqlconsulta;
	}


	@Column(name="ENUM_TIPO")
	public String getStrTipo() {
		return this.strTipo;
	}

	public void setStrTipo(String strTipo) {
		this.strTipo = strTipo;
	}


	@Column(name="STR_WS_WSDL")
	public String getStrWsWsdl() {
		return this.strWsWsdl;
	}

	public void setStrWsWsdl(String strWsWsdl) {
		this.strWsWsdl = strWsWsdl;
	}


	//bi-directional many-to-one association to Evento
    @ManyToOne
	@JoinColumn(name="COD_EVENTO")
	public Evento getEvento() {
		return this.evento;
	}

	public void setEvento(Evento evento) {
		this.evento = evento;
	}
	

	//bi-directional many-to-one association to Regla
	@OneToMany(mappedBy="origenDato")
	public Set<Regla> getReglas() {
		return this.reglas;
	}

	public void setReglas(Set<Regla> reglas) {
		this.reglas = reglas;
	}


	@Override
	public Object getPK() {
		return getCodOrigendatoPk();
	}
	
}